Zusammenfassung
DCRat (auch bekannt als Dark Crystal RAT) ist ein modularer Remote Access Trojaner (RAT), der als Malware-as-a-Service (MaaS) angeboten wird und es seit 2018 gibt. Es ist in C# geschrieben und verfügt über typische RAT- und Informationsdiebstahl-Funktionen, wie z. B. das Ausführen von Shell-Befehlen, das Protokollieren von Tastenanschlägen, das Exfiltrieren von Dateien und Anmeldeinformationen, um nur einige zu nennen.
DCRat wurde in der Vergangenheit über kompromittierte oder gefälschte Websites, passwortgeschützte Archive, die über beliebte Medien wie Signal, Cobalt Strike Beacons oder E-Mail-Spam mit in Makros eingebetteten Excel- oder PDF-Anhängen bereitgestellt wurden, bereitgestellt.
Bei der Bedrohungssuche entdeckte das Netskope-Team, dass russischsprachige Benutzer mit DCRat angegriffen wurden, das durch HTML-Schmuggel verbreitet wurde, eine Bereitstellungstechnik, die wir bisher nicht bei der Bereitstellung von DCRat beobachtet haben. In diesem Blog werden wir die in dieser Kampagne verwendeten Techniken weiter analysieren.
HTML-Smuggling
HTML-Smuggling ist in erster Linie ein Mechanismus zur Bereitstellung von Nutzlasten. Die Nutzlast kann in den HTML-Code selbst eingebettet oder von einer Remote-Ressource abgerufen werden. Sie wird in der Regel durch eine Kombination aus Komprimierung, Codierung oder Verschlüsselung verschleiert. Auf diese Weise kann es die Netzwerksicherheitsmechanismen leichter umgehen und den Browser des Opfers erreichen.
Sobald der HTML-Code im Browser gerendert wird, wird die bösartige Nutzlast in ihre ursprüngliche Form umgewandelt. Möglicherweise sind Anti-Emulationsmaßnahmen im HTML-Code implementiert, so dass z. B. die Nutzlast nur transformiert wird, wenn sich der Mauszeiger bewegt. Die transformierte Nutzlast wird dann automatisch auf die Festplatte geschrieben, oder sie erfordert eine Benutzerinteraktion in Form von Mausklicks. Der Bedrohungsakteur setzt in der Regel eine Form von Social Engineering ein, um den Benutzer zur Ausführung der Nutzlast zu bewegen.
Diese Technik wurde unter anderem von Azorult, Pikabot und jetzt DCRat genutzt.
Analyse von HTML-Dateien
Der Bedrohungsakteur nutzte gefälschte HTML-Seiten, die sich als TrueConf- und VK Messenger-Medienanwendungen in russischer Sprache ausgaben. Wir wissen derzeit nicht, wie diese HTML-Seiten an das Opfer geliefert wurden.
Zum Zeitpunkt des Schreibens dieses Blogs wurde eine der HTML-Dateien von keinem Modul auf VirusTotal erkannt, während die andere 10 Erkennungen aufwies.
Wenn die HTML-Dateien in einem beliebigen Browser wie Chrome, Firefox und Edge geöffnet wurden, wurde automatisch ein passwortgeschütztes ZIP-Archiv auf die Festplatte heruntergeladen. Auf der HTML-Seite wurde dem Opfer auch das Passwort zum Entschlüsseln der ZIP-Nutzlast zur Verfügung gestellt. In beiden Fällen lautete das Passwort "2024". Dies ist ein klassisches Beispiel für die Umgehung der Erkennung, da Sicherheitstools keinen Zugriff auf das Passwort haben und somit daran gehindert werden, die tatsächliche Nutzlast innerhalb des verschlüsselten ZIP-Archivs zu untersuchen.
Der Schmuggel-Code in den beiden HTML-Dateien wurde aus dem Open-Source-GitHub-Repository TheCyb3rAlpha/BobTheSmuggler abgeleitet. Dies zeigte sich an der Struktur des JavaScript-Codes.
Ablauf der DCRat-Ausführung
Die anfängliche passwortgeschützte ZIP-Payload enthielt ein RarSFX-Archiv mit einem Dateinamen, der darauf hindeutete, dass die Anwendung imitiert wurde, z. B. "trueconf.ru.exe" und "vk.exe".
Dieses RarSFX-Archiv enthielt außerdem eine Batch-Datei und ein weiteres passwortgeschütztes RarSFX-Archiv.
In beiden Fällen lautete das Passwort zum eingebetteten RarSFX-Archiv "riverdD". Die Batch-Datei führte das RarSFX-Archiv aus und gab das Passwort auf der Kommandozeile an.
Die konfigurierten WinRAR-Skriptbefehle führten dann die eingebettete Nutzlast aus.
Jede dieser endgültigen ausführbaren Nutzlasten war DCRat, wie durch Speicherzeichenfolgen, Mutex-Name und C2 angegeben.
DCRat ist dafür bekannt, dass es gepackt wird, im Volksmund mit .NET Reactor, aber auch mit anderen wie ConfuserEx oder im Falle unserer Beispiele – ENIGMA und VMProtect.
Der Kompilierungszeitstempel beider ausführbaren DCRat-Dateien war der 4. Mai 2022 und wies Verhaltensähnlichkeiten mit DCRat-Beispielen auf, die von BlackBerry im Jahr 2022 beschrieben wurden. Diese deuten darauf hin, dass der Bedrohungsakteur ältere DCRat-Builds wiederverwendet hat.
Passwortschutz zur Umgehung
Es ist bekannt, dass Bedrohungsakteure Phishing-E-Mails mit einem passwortgeschützten Anhang versenden, bei dem das Passwort im E-Mail-Text angegeben wurde. Der Erfolg solcher Kampagnen hing stark davon ab, den Benutzer davon zu überzeugen, den Anhang zu öffnen und das Entschlüsselungspasswort anzugeben. Diese Abhängigkeit wurde durch die Verwendung von verschachtelten RarSFX-Archiven umgangen, wobei der Zweck des ersten RarSFX-Archivs darin bestand, das eingebettete passwortgeschützte RarSFX-Archiv mit dem Entschlüsselungspasswort auszuführen. Somit musste der Benutzer kein Passwort mehr eingeben und musste nur noch den bösartigen Anhang öffnen.
Bei diesem Angriff verpackte der Bedrohungsakteur jedoch das erste RarSFX-Archiv in eine passwortgeschützte ZIP-Datei. Dadurch wurde der Vorteil der Verwendung von verschachtelten RarSFX-Archiven zunichte gemacht, da der Benutzer nun ein Passwort eingeben musste, um die ursprüngliche ZIP-Datei zu entschlüsseln. Bei näherer Betrachtung stellten wir fest, dass das eingebettete RarSFX-Archiv auf VirusTotal häufig erkannt wurde, während die passwortgeschützte ursprüngliche ZIP-Datei zum Zeitpunkt des Schreibens 0 Erkennungen aufwies. Dies unterstreicht die Wirksamkeit passwortgeschützter Malware, um Erkennungsmechanismen zu umgehen.
Schlussfolgerungen
In diesem Beitrag haben wir die HTML-Beispiele vorgestellt, die verwendet wurden, um DCRat auf die Systeme der Opfer zu schmuggeln. Während HTML-Schmuggel in der Vergangenheit von anderen Malware-Familien genutzt wurde, ist dies das erste Mal, dass wir beobachten, dass DCRat über diese Malware verbreitet wird. Netskope wird DCRat und seine Entwicklung weiterhin verfolgen.
Empfehlungen
Netskope empfiehlt, dass Unternehmen ihre Sicherheitsrichtlinien überprüfen, um sicherzustellen, dass sie angemessen vor Malware geschützt sind:
- Überprüfen Sie den gesamten HTTP- und HTTPS-Datenverkehr, einschließlich des gesamten Web- und Clouddatenverkehrs, um zu verhindern, dass Systeme mit bösartigen Domänen kommunizieren. Netskope Kunden können ihre Netskope Next Gen Secure Web Gateway mit einer URL-Filterrichtlinie konfigurieren, um bekannte bösartige Domänen zu blockieren, und einer Richtlinie zum Schutz vor Bedrohungen, um alle Webinhalte zu überprüfen, um bösartige Inhalte mithilfe einer Kombination aus Signaturen, Bedrohungsinformationen und maschinellem Lernen zu identifizieren.
- Verwenden Sie die Remote Browser Isolation (RBI )-Technologie, um zusätzlichen Schutz zu bieten, wenn Websites besucht werden müssen, die in Kategorien fallen, die ein höheres Risiko darstellen können, wie z. B. neu beobachtete und neu registrierte Domains.
Netskope-Erkennung
- Netskope Threat Protection
- HTML-Dateien
- Trojaner.GenericFCA.Agent.126219
- Skript-JS.Trojan.Schmuggel
- DCRat:
- Win32.Infostealer.Tinba
- ByteCode-MSIL.Backdoor.Dcrat
- Trojaner.MSIL.Basic.6.Gen
- Win64.Trojan.DarkCrystal
- Trojaner.Generic.36629582
- HTML-Dateien
- Netskope Intrusion Prevention System
- DCRat C2-Verkehr:
- SID 170049: MALWARE-CNC Win.RAT.DCRat ausgehender Datenverkehr erkannt
- SID 58356: MALWARE-CNC Win.Trojan.DCRAT-Variante ausgehende Verbindung
- SID 58357: MALWARE-CNC Win.Trojan.DCRAT-Variante ausgehende Verbindung
- SID 58359: MALWARE-CNC Win.Trojan.DCRAT-Variante ausgehende Verbindung
- DCRat C2-Verkehr:
MITRE ATT&CK Techniken
Taktik | Technik |
---|---|
TA0005: Umgehung der Verteidigung | T1027.002: Verschleierte Dateien oder Informationen: Software-Verpackung Nr. T1027.006: Verschleierte Dateien oder Informationen: HTML-Schmuggel |
TA0011: Steuerung und Steuerung | T1071.001: Application Layer Protocol: Web-Protokolle |
IOCs
Alle IOCs und Skripte, die sich auf diese Malware beziehen, finden Sie in unserem GitHub-Repository.